package com.woniu.teachmall04.mapper;

import com.woniu.teachmall04.entity.Goods;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface GoodsMapper {
    // 基础CRUD
    Goods selectById(Integer id);
    List<Goods> selectAll();
    int insert(Goods goods);
    int update(Goods goods);
    int updateStatus(@Param("id") Integer id, @Param("status") String status);

    // 分页查询
    List<Goods> selectByPage(@Param("offset") int offset,
                             @Param("pageSize") int pageSize,
                             @Param("categoryId") Integer categoryId,
                             @Param("keyword") String keyword,
                             @Param("minPrice") BigDecimal minPrice,
                             @Param("maxPrice") BigDecimal maxPrice);

    long count(@Param("categoryId") Integer categoryId,
               @Param("keyword") String keyword,
               @Param("minPrice") BigDecimal minPrice,
               @Param("maxPrice") BigDecimal maxPrice);

    // 特殊查询
    List<Goods> selectHottest();
    List<Goods> selectNewest();
}